package cn.iocoder.yudao.module.biz.dal.dataobject.bizsalesteam;

import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 销售团队信息 DO
 *
 * @author 超级管理员
 */
@TableName("san_biz_sales_team")
@KeySequence("san_biz_sales_team_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BizSalesTeamDO extends BaseDO {

    /**
     * 小组ID
     */
    @TableId
    private Long teamId;
    /**
     * 小组名称
     */
    private String teamName;
    /**
     * 小组编号
     */
    private String teamCode;
    /**
     * 小组经理ID，关联销售人员表的员工ID
     */
    private Integer managerId;
    /**
     * 所属部门ID，关联部门表
     */
    private Integer departmentId;
    /**
     * 小组销售目标金额
     */
    private BigDecimal teamGoal;
    /**
     * 本季度销售目标
     */
    private BigDecimal currentQuarterTarget;
    /**
     * 小组描述信息
     */
    private String teamDescription;
    /**
     * 小组成立日期
     */
    private LocalDateTime establishmentDate;
    /**
     * 小组状态：1-活跃，0-已解散
     */
    private Integer status;
    /**
     * 负责销售区域
     */
    private String region;
    /**
     * 重点销售产品类别
     */
    private String productFocus;

    /**
     * 合作模式
     */
    private String contractType;

    /**
     * 组员信息
     */
    @TableField(exist = false)
    private List<AdminUserDO> users;
}
